/**
 * Copyright &copy; 2020 <a href="https://github.com/somowhere/exam-system">exam-system</a> All rights reserved.
 */
package com.shanhesoft.java.modules.exam.domain.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.*;
import javax.validation.constraints.NotNull;

import com.shanhesoft.java.common.core.vo.DataDto;

import java.util.Date;

/**
 * 编程题管理Dto 编程题管理
 * @author admin
 * @version 2020-09-26 20:36:04
 */
@Data @ToString @NoArgsConstructor @AllArgsConstructor
public class OjProblemsDto extends DataDto<String> {

	private static final long serialVersionUID = 1L;
	/** F_QUESTIONBANKID question_bank_id  :  题库编号 */
	public static final String F_QUESTIONBANKID = "questionBankId";
	/** F_LANGUAGEID language_id  :  编程语言编号 */
	public static final String F_LANGUAGEID = "languageId";
	/** F_PROBLEMTYPE problem_type  :  1->练习,2->作业,3->试题 */
	public static final String F_PROBLEMTYPE = "problemType";
	/** F_PROBLEMNAME problem_name  :  试题名称 */
	public static final String F_PROBLEMNAME = "problemName";
	/** F_PROBLEMTIMELIMIT problem_time_limit  :  最大运行时间 */
	public static final String F_PROBLEMTIMELIMIT = "problemTimeLimit";
	/** F_PROBLEMMEMORYLIMIT problem_memory_limit  :  最大运行内存 */
	public static final String F_PROBLEMMEMORYLIMIT = "problemMemoryLimit";
	/** F_PROBLEMDESCRIPTION problem_description  :  试题描述 */
	public static final String F_PROBLEMDESCRIPTION = "problemDescription";
	/** F_PROBLEMINPUTFORMAT problem_input_format  :  输入格式 */
	public static final String F_PROBLEMINPUTFORMAT = "problemInputFormat";
	/** F_PROBLEMOUTPUTFORMAT problem_output_format  :  输出格式 */
	public static final String F_PROBLEMOUTPUTFORMAT = "problemOutputFormat";
	/** F_PROBLEMSAMPLEINPUT problem_sample_input  :  输入样例 */
	public static final String F_PROBLEMSAMPLEINPUT = "problemSampleInput";
	/** F_PROBLEMSAMPLEOUTPUT problem_sample_output  :  输出样例 */
	public static final String F_PROBLEMSAMPLEOUTPUT = "problemSampleOutput";
	/** F_PROBLEMHINT problem_hint  :  试题提示 */
	public static final String F_PROBLEMHINT = "problemHint";
	/** F_PROBLEANSWER problem_answer  :  参考代码 */
	public static final String F_PROBLEANSWER = "problemAnswer";

	/** questionBankId 题库编号 */
 @NotBlank @Size(max=50)
	private String questionBankId;
	/** languageId 编程语言编号 */
 @NotBlank @Size(max=50)
	private String languageId;
	/** problemType 1->练习,2->作业,3->试题 */
 @NotNull
	private Integer problemType;
	/** problemName 试题名称 */
 @NotBlank @Size(max=128)
	private String problemName;
	/** problemTimeLimit 最大运行时间 */
 @NotNull
	private Long problemTimeLimit;
	/** problemMemoryLimit 最大运行内存 */
 @NotNull
	private Long problemMemoryLimit;
	/** problemDescription 试题描述 */
 @NotBlank @Size(max=65535)
	private String problemDescription;
	/** problemInputFormat 输入格式 */
 @NotBlank @Size(max=65535)
	private String problemInputFormat;
	/** problemOutputFormat 输出格式 */
 @NotBlank @Size(max=65535)
	private String problemOutputFormat;
	/** problemSampleInput 输入样例 */
 @NotBlank @Size(max=65535)
	private String problemSampleInput;
	/** problemSampleOutput 输出样例 */
 @NotBlank @Size(max=65535)
	private String problemSampleOutput;
	/** problemHint 试题提示 */
 @Size(max=65535)
	private String problemHint;
	/** problemAnswer 参考答案 */@Size(max=65535)
	private String problemAnswer;

}
